Current keyboards are primarily used for data entry and are specifically designed for specific languages. As an example, U.S. English keyboards lack numerous accents, dieresis, cedillas and other diacritical marks (collectively referred to herein as diacritics) that are necessary to correctly type non-English languages. A character utilizing a diacritic is referenced herein as a diacritical character. In the increasingly global marketplace, a native of a country fluent in several languages may be working in the U.S. This person could find it difficult to communicate fluently in a European language because the U.S. keyboard has a limited number of diacritics available to the user.
A conventional approach to providing diacritics essential to a language is to utilize “national keyboards” that generate language specific accented characters. Typically, commonly used diacritical characters are assigned a unique key on the keyboard. Thus, for example, it is common to find the diacritical character “ñ” on a Spanish keyboard but not on a French keyboard since the “tilde” is not used in the French language. Similarly, the diacritical characters “à”, “é” and “ù” are found on most French keyboards but not on Spanish keyboards while the diacritical characters “ä”, “ö” and “ü” are found on German keyboards. However, each keyboard is designed primarily for one language. Persons who write in more than one language are required to either switch keyboards and use a different keyboard driver application tailored to the desired language, or improvise to generate the desired diacritic.
One problem arising from the use of national keyboards is that even though two keyboards may contain the same characters, their positions may be quite different. Thus, the position of the acute and grave accents on a keyboard designed for France is different from that of a keyboard design for Italy. Switching keyboards requires the user to remember different keyboard layouts, a complication that potentially slows keyboarding by the user. Further, switching keyboards requires additional keyboard driver applications as the placement of characters on the keyboard is different.
Conventional word processing applications make use of so-called “dead keys” to obviate the need for backspacing while entering accented characters that are not assigned a unique key. It will be appreciated that the keyboard would be much too large if every possible accented character were assigned a unique key. With a dead key, the operator initially selects the dead key appropriate to the required diacritic and then selects the appropriate character key to produce a diacritical character. This dead key enters the accent but does not advance the display. Reference is made to U.S. Pat. No. 4,204,089.
Only a few characters can be assigned to the dead keys, while over twenty-five different diacritical modifiers are required for European languages. In addition, some European characters use diacritics that are not modifications of existing characters but unique characters on their own. Consequently, these diacritical characters do not translate well to a “dead key” approach.
Another conventional approach to generating diacritics is to use a compose key. A key on a keyboard is designated as a “compose” key. Pressing the compose key and then a sequence of keys causes a keyboard driver application to interpret the sequence of two or three characters as a composition: i.e., <compose>+{grave over ( )}+a=à. However, the user is required to remember many different combinations to produce the desired diacritical character, slowing the keyboard entry speed of the user.
Yet another conventional approach utilizes a repetition method. A user repeatedly presses a key to cycle through possible diacritics for the desired diacritical character. For example, one press of the letter “a” yields “a”. A second press of the letter “a” yields “à”. A third press of the letter “a” yields “á”. A fourth press of the letter “a” yields “ä”, etc. (Reference is made to U.S. Pat. No. 6,340,937.) However, the user is required to either remember where in the cycle the desired character is produced or focus on the keyboard and screen when cycling through the possible characters. This approach also slows keyboard entry speed of the user.
What is therefore needed is a system, a computer product, and an associated method that allow the use of a single keyboard (or an input keypad) to produce diacritics for different languages that use, for example, a Latin-based character set or a Roman character set. Further, a method is needed that allows a user of a U.S. keyboard to generate properly shaped diacritics in other languages in a user-friendly format. The need for such system and method has heretofore remained unsatisfied.